| |
3.1. Загальні поняття.
Основна функція будь-якого процесора, заради якої він і створюється, - це виконання команд. Система команд, виконуваних процесором, є чимось подібним таблиці істинності логічних елементів або таблиці режимів роботи складніших логічних мікросхем. Тобто вона визначає логіку роботу процесора і його реакцію на ті або інші комбінації зовнішніх подій.
Написання програм для мікропроцесорної системи - найважливіший і часто самий трудомісткий етап розробки такої системи. А для створення ефективних програм необхідно мати хоча б найзагальніше уявлення про систему команд процесора, що використовується. Найкомпактніші і швидкі програми і підпрограми створюються на мові Асемблер, використовування якого без знання системи команд абсолютно неможливе, адже мова Асемблер є символьним записом цифрових кодів машинної мови, кодів команд процесора. Звичайно, для розробки програмного забезпечення існують всілякі програмні засоби. Користуватися ними звичайно можна і без знання системи команд процесора. Частіше за все застосовуються мови програмування високого рівня, такі як Паскаль і Сі. Проте знання системи команд і мови Асемблер дозволяє у декілька разів підвищити ефективність деяких найважливіших частин програмного забезпечення будь-якої мікропроцесорної системи - від мікроконтролера до персонального комп'ютера.
Саме тому в даному розділі ми розглянемо основні типи команд, що є у більшості процесорів, і особливості їх вживання.
Кожна команда, що вибирається (читається) з пам'яті процесором, визначає алгоритм поведінки процесора на найближчі декілька тактів. Код команди говорить про те, яку операцію належить виконати процесору і з якими операндами (тобто кодами даних), де узяти початкову інформацію для виконання команди і куди помістити результат (якщо необхідно). Код команди може займати від одного до декількох байт, причому процесор дізнається про те, скільки байт команди йому треба читати, з першого прочитаного ним байта або слова. В процесорі код команди розшифровується і перетвориться в набір мікрооперацій, виконуваних окремими вузлами процесора. Але розробнику мікропроцесорних систем це знати не дуже важливо, йому важливий тільки результат виконання тієї або іншої команди.
попередня тема наступна тема
|